A r t i c l e s
Navigation

Note: This site is
a bit older, personal views
may have changed.

M a i n P a g e

D i r e c t o r y

Fast Typing vs Typing Annoyances


Pressing the shift key often is annoying. It gets on your nerves. Programming for application development is not about how fast you type. It is however about typing annoyances. Of course I'm talking about an english QWERTY keyboard.

When requiring the shift key often, a user can get annoyed.

In pascal, if we had to type too many shift key sequences the language would be more annoying. Example:

{
  this :+ "that" #
}
This is way too many shift keys per second. It's not annoying time-wise, but rather nerve-wise. It doesn't take that much extra time to use the shift key, it's just the get-on-your-nerves annoyance of it, and the finger strain.

Luckily we have this:

 string:= 'some text'; 

because...

 { string :> "some text"; }
Can get on your nerves, due to the fact that there is a shift key required for the colon AND the double quote, and the curly, etc.

Below is easier to type..

  string = 'some text';
..but the "neatness" factor of := for assignmentm could outweigh the shift key annoyance of the colon (but see further below for a counter argument).

This below using underscores

  Some_Thing_Is
..can get annoying since many shift keys are required.. versus
 somethingis
 something-is
Which is better since less total shift keys are required.

StudlyCaps like SomethingIs still requires shift keys and gets on the nerves...

Assignment := Annoying?

The assignment sign in pascal used in code blocks
  :=
...requires the shift key. Programmers argue that the assignment operator should not be the "equality sign" since it is assigning rather than checking equality. Although I did write an article arguing whether or not the assignment := operator is truly a benefit for programmer or whether it is just a zealous religious fallacy. That article is called Assignment-Operator-Religous-Wars. More importantly the language should not allow one to assign in an "if" logic situation like this:
  if x = 5 then
Whether we use "==" or "=" doesn't matter.. but what does matter is that the language does NOT allow you to assign things within the if logic, otherwise it does start to cause bugs in software as it will slip by the programmer that x = 5 is an assignment if the compiler doesn't check.

Does it matter?

It matters for programming prototypes, quick scripts, or short term solutions. Larger programs we can argue are not as affected by "ease of typing". However, we can also argue that larger programs stem from small programs in the beginning stages.. so.. prototyping and quick fast typing is still important for rapid development in the early stages.

Quick and fast typing keeps motivation up. Programmers lose motivation easily. Programmers get distracted easily. Verbose languages only get in the way and cause us to drop the program half the way through and move on to something else, because that is just too much work to pump out that entire algorithm.

Instant Gratification

Maybe I am exaggerating.. but when I open up my editor I really do like instant gratification.. and many of my instant gratifications such as small test programs and demos do turn into larger libraries and larger programs later on.

Quick Mini Languages

Another example of where fast quick typing comes in handy is in Regexes. It is nice to have a short form way of defining search alogorithms in one-off situations. However, regexes do require the shift key so a less stressful way to write regexes may be to put your keyboard into regex mode of some sort, (or maybe if our keyboards could improve some how).

Regexes are all about quick prototyping.. they just unfortunately can't be converted into longer term solutions and parsers, since "regex language" is not a real programming language.

Keyboard Remapping

In fact Graeme G. told me about a keyboard mode for linux that allows you to type out symbols faster and easier than on a qwerty.. my only problem with it is that 90 percent or so of the world uses qwerty... so maybe a language should be designed to be easy to use on a qwerty.. which is some of Qompute's goals.

About
This site is about programming and other things.
_ _ _